1. Technical Field
The present invention relates to error protection schemes, and more particularly relates to a system and method of cross media error protection for multimedia data streams.
2. Related Art
Error protection techniques are used to protect electronic data and information from errors. The types of data that can be protected may include, for example, simple data files, multimedia data (e.g., video and audio), or web pages. Errors primarily occur during transmission, but can also be caused by other activities such as writing or reading data to or from storage. Error protection schemes function by adding redundancy to the data. The redundancy can be used to both detect and correct errors. The effectiveness of a given error protection scheme generally depends on the amount of redundancy added.
Areas where protection is becoming more vital include multimedia data and web content, both of which typically contain multiple media streams. For example, a video program may contain one or more video, audio and text streams. Similarly, a web page may contain audio, video and text data embedded therein Typically, the sizes or bandwidths of the various media streams are different, with video streams generally using up a large percentage of the bandwidth, followed by audio, and then text. For the purposes of this invention, the term “multimedia” shall refer to any content that includes multiple media streams.
In today's information environment, data comprised of multiple media streams are often sent simultaneously to devices with different capabilities. Thus, for example, a computer or a TV that has audio, video, and text display capabilities can decode and display all the streams. Conversely, an audio player may only decode the audio stream, and a cell-phone or a personal digital assistant (PDA) with a text-only display will only decode the text stream. Therefore, in such an environment, the protection of all the individual streams becomes equally important.
Conventional methods of protecting such content are to protect each media stream independently, i.e., packets of bits from each media stream are packaged independently, and a certain number of redundancy bits are added to each packet. Thus, a number of video packets, audio packets and text packets will be created, each with their own redundancy or error checking bits. The problem with such independent protection is that a transmission error may wipe out one media stream completely, e.g., the text stream, thereby “starving” the PDA user.
An example of this scheme is shown in FIG. 2, which depicts a plurality of media streams 30, each packaged with redundancy bits R. Assume in a given interval of time, 80 bits of stream-1 (video V), 32 bits of stream-2 (audio A) and 16 bits of stream-3 (text T) are generated. In the example depicted in FIG. 2, each stream is broken into packets sizes of twenty bits (sixteen information plus four redundancy bits R), thus providing 25% redundancy for error protection. For example, sixteen video bits 32 are packaged with four redundancy bits 34, etc. In this example, there are five video packets, two audio packets and one text packet that are independently protected with redundancy bits R.
Now, suppose the transmission medium introduces an error in one of the packets and the error is such that the redundancy information is insufficient to correct the error. If this error happens to be in the packet carrying the text information 35, then the text information associated with this time period is completely lost. Since the text packet 35 is completely lost, a device like a PDA that can only display the text information has no data to display for this period of time. Therefore, the PDA users receive no information during the interval, whereas users of a PC or an audio player can still receive and process the other streams.
Accordingly, a need exists to provide a system whereby the risk of complete data loss or starvation is reduced in a setting with multiple media streams.